Skip to content

Prevent unexpected native controller output hanging the process#56685

Merged
droberts195 merged 2 commits intoelastic:7.xfrom
droberts195:inherit_stderr_stdout_on_controller_spawn_7x
May 13, 2020
Merged

Prevent unexpected native controller output hanging the process#56685
droberts195 merged 2 commits intoelastic:7.xfrom
droberts195:inherit_stderr_stdout_on_controller_spawn_7x

Conversation

@droberts195
Copy link
Copy Markdown

In normal operation native controllers are not expected to write
anything to stdout or stderr. However, if due to an error or
something unexpected with the environment a native controller
does write something to stdout or stderr then it will block if
nothing is reading that output.

This change makes the stdout and stderr of native controllers
reuse the same stdout and stderr as the Elasticsearch JVM (which
are by default redirected to es.stdout.log and es.stderr.log) so
that if something unexpected is written to native controller
output then:

  1. The native controller process does not block, waiting for
    something to read the output
  2. We can see what the output was, making it easier to debug
    obscure environmental problems

Backport of #56491

In normal operation native controllers are not expected to write
anything to stdout or stderr.  However, if due to an error or
something unexpected with the environment a native controller
does write something to stdout or stderr then it will block if
nothing is reading that output.

This change makes the stdout and stderr of native controllers
reuse the same stdout and stderr as the Elasticsearch JVM (which
are by default redirected to es.stdout.log and es.stderr.log) so
that if something unexpected is written to native controller
output then:

1. The native controller process does not block, waiting for
   something to read the output
2. We can see what the output was, making it easier to debug
   obscure environmental problems

Backport of elastic#56491
@droberts195
Copy link
Copy Markdown
Author

@elasticmachine update branch

@droberts195 droberts195 merged commit ab40466 into elastic:7.x May 13, 2020
@droberts195 droberts195 deleted the inherit_stderr_stdout_on_controller_spawn_7x branch May 13, 2020 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants